API Documentation
Namespaces | Classes | Enumerations
nkAstraeus Namespace Reference

Encompasses all API of component NilkinsAstraeus. More...

Namespaces

 lua
 Encompasses the wrapping done for a Lua environment.
 

Classes

class  AtmosphereEffect
 An atmosphere effect. More...
 
struct  AtmosphereEffectInfo
 For internal usage, should not be called. More...
 
class  AtmosphereLutProgramTracker
 For internal usage, should not be called. More...
 
class  AtmosphereProgramSources
 For internal usage, should not be called. More...
 
class  AtmosphereProgramTracker
 For internal usage, should not be called. More...
 
class  BlurComplexEffect
 A blurring effect. More...
 
struct  BlurComplexEffectInfo
 For internal usage, should not be called. More...
 
class  BlurProgramsSources
 For internal usage, should not be called. More...
 
class  BlurProgramsTracker
 For internal usage, should not be called. More...
 
class  ComplexEffect
 Base class for all complex effects in the component. More...
 
class  ComplexEffectManager
 Manages the complex effects available in the component. More...
 
class  ComplexEffectTypeUtils
 Offers utility functions to help with the enumeration support. More...
 
class  DofComplexEffect
 A Depth of Field effect. More...
 
struct  DofComplexEffectInfo
 For internal usage, should not be called. More...
 
class  DofProgramsSources
 For internal usage, should not be called. More...
 
class  DofProgramsTracker
 For internal usage, should not be called. More...
 
class  Effect
 Base class for all effects in the component. More...
 
class  EffectManager
 Manages the effects available in the component. More...
 
class  EffectTypeUtils
 Offers utility functions to help with the enumeration support. More...
 
class  Engine
 The main entry point for nkAstraeus engine. More...
 
class  EnvironmentRenderer
 Utility class helping with environment rendering such as cube maps or spherical maps. More...
 
class  FilmGrainEffect
 A film grain effect. More...
 
struct  FilmGrainEffectInfo
 For internal usage, should not be called. More...
 
class  FilmGrainEffectUtils
 Utilities that can help when using an FilmGrainEffect. More...
 
class  FilmGrainProgramSources
 For internal usage, should not be called. More...
 
class  FilmGrainProgramTracker
 For internal usage, should not be called. More...
 
class  FxaaEffect
 A Fast Approximate Anti-Aliasing effect. More...
 
struct  FxaaEffectInfo
 For internal usage, should not be called. More...
 
class  FxaaProgramSources
 For internal usage, should not be called. More...
 
class  FxaaProgramTracker
 For internal usage, should not be called. More...
 
class  GeometryLib
 Shader program helping sources for general geometry concepts. More...
 
class  GraphicsEngine
 Drives the graphics engine part. More...
 
class  ImageEnvironmentEffect
 Effect using a texture as an input to use it as an environment for the view. More...
 
struct  ImageEnvironmentEffectInfo
 For internal usage, should not be called. More...
 
class  ImageEnvironmentProgramSources
 For internal usage, should not be called. More...
 
class  ImageEnvironmentProgramTracker
 For internal usage, should not be called. More...
 
class  LogManager
 Responsible for logging all messages from the component. By registering a nkLog::Logger inside, it is possible to listen to all messages logged. More...
 
class  Material
 Base class for all materials in the component. More...
 
class  MaterialManager
 Manages the materials available in the component. More...
 
class  MathsLib
 Shader program helping sources for general maths concepts. More...
 
class  OneChannelPackUtils
 Offers utilities to use with the ONE_CHANNEL_PACK enumeration class. More...
 
class  PbsEnvMapFilter
 Provides tools to filter environment maps and improve IBL within the PbsMaterial. More...
 
class  PbsEnvMapFilterSources
 For internal usage, should not be called. More...
 
class  PbsMaterial
 A Physically Based Shading material. More...
 
struct  PbsMaterialInfo
 For internal usage, should not be called. More...
 
class  PbsProgramSources
 For internal usage, should not be called. More...
 
class  PbsProgramTracker
 For internal usage, should not be called. More...
 
class  PostProcessingLib
 Shader program helping sources to handle post processing passes. More...
 
struct  ProgramEntry
 Entry used internally by the tracker to keep references over programs. More...
 
class  ProgramTracker
 Template class used internally to track programs within materials and effects. More...
 
class  ProjectLoader
 Allows to load and save projects, that is, resource sets. More...
 
struct  ProjectLoadQuery
 Describes a project load query. More...
 
struct  ProjectLoadResult
 Holds information about a project load attempt. More...
 
struct  ProjectSaveQuery
 Describes a project save query. More...
 
class  ScriptsEngine
 Drives the scripting sub engine. More...
 
struct  ShadowMapParameters
 Exposes parameters for the shadow map setup in materials and effects supporting it. More...
 
class  ShadowMapPcfUtils
 Offers utilities around using the SHADOW_MAP_PCF enumeration. More...
 
class  ShadowMappingLib
 Shader program helping sources for shadow mapping. More...
 
class  SsaoEffect
 A Screen Space Ambient Occlusion effect. More...
 
struct  SsaoEffectInfo
 For internal usage, should not be called. More...
 
class  SsaoEffectUtils
 Utilities that can help when using an SsaoEffect. More...
 
class  SsaoProgramSources
 For internal usage, should not be called. More...
 
class  SsaoProgramTracker
 For internal usage, should not be called. More...
 
class  TextureCopyEffect
 A texture copy effect. More...
 
struct  TextureCopyEffectInfo
 For internal usage, should not be called. More...
 
class  TextureCopyProgramSources
 For internal usage, should not be called. More...
 
class  TextureCopyProgramTracker
 For internal usage, should not be called. More...
 
class  ThreeChannelPackUtils
 Offers utilities to use with the ONE_CHANNEL_PACK enumeration class. More...
 
class  ToneMappingEffect
 A tone mapping effect meant to map linear values to display device colors. More...
 
struct  ToneMappingEffectInfo
 For internal usage, should not be called. More...
 
struct  ToneMappingHablesCurveDescriptor
 Provides all parameters to tune the Hables curve to tone map an image. More...
 
class  ToneMappingProgramSources
 For internal usage, should not be called. More...
 
class  ToneMappingProgramTracker
 For internal usage, should not be called. More...
 

Enumerations

enum  BLUR_TYPE { BLUR_TYPE::GAUSSIAN = 0 }
 Enumerates the blurring types available. More...
 
enum  COMPLEX_EFFECT_TYPE { COMPLEX_EFFECT_TYPE::UNKNOWN = 0, COMPLEX_EFFECT_TYPE::BLUR, COMPLEX_EFFECT_TYPE::DOF }
 Enumerates all complex effects available in the component. More...
 
enum  EFFECT_TYPE {
  EFFECT_TYPE::UNKNOWN = 0, EFFECT_TYPE::ATMOSPHERE, EFFECT_TYPE::FILM_GRAIN, EFFECT_TYPE::FXAA,
  EFFECT_TYPE::IMAGE_ENVIRONMENT, EFFECT_TYPE::SSAO, EFFECT_TYPE::TEXTURE_COPY, EFFECT_TYPE::TONE_MAPPING
}
 Lists all effects supported. More...
 
enum  FXAA_PRESET {
  FXAA_PRESET::DITHER_MEDIUM_RADIUS_3 = 0, FXAA_PRESET::DITHER_MEDIUM_RADIUS_4, FXAA_PRESET::DITHER_MEDIUM_RADIUS_5, FXAA_PRESET::DITHER_MEDIUM_RADIUS_6,
  FXAA_PRESET::DITHER_MEDIUM_RADIUS_7, FXAA_PRESET::DITHER_MEDIUM_RADIUS_8, FXAA_PRESET::DITHER_LOW_RADIUS_3, FXAA_PRESET::DITHER_LOW_RADIUS_4,
  FXAA_PRESET::DITHER_LOW_RADIUS_5, FXAA_PRESET::DITHER_LOW_RADIUS_6, FXAA_PRESET::DITHER_LOW_RADIUS_7, FXAA_PRESET::DITHER_LOW_RADIUS_8,
  FXAA_PRESET::DITHER_LOW_RADIUS_9, FXAA_PRESET::DITHER_LOW_RADIUS_10, FXAA_PRESET::DITHER_LOW_RADIUS_11, FXAA_PRESET::DITHER_LOW_RADIUS_12,
  FXAA_PRESET::DITHER_LOWEST_RADIUS_12
}
 Describes all FXAA effect presets available. More...
 
enum  IMAGE_ENVIRONMENT_PROJECTION { IMAGE_ENVIRONMENT_PROJECTION::AUTO = 0, IMAGE_ENVIRONMENT_PROJECTION::FLAT, IMAGE_ENVIRONMENT_PROJECTION::CUBE, IMAGE_ENVIRONMENT_PROJECTION::EQUIRECTANGULAR }
 Enumerates the projections supported for a source environment image. More...
 
enum  ONE_CHANNEL_PACK { ONE_CHANNEL_PACK::R = 0, ONE_CHANNEL_PACK::G, ONE_CHANNEL_PACK::B, ONE_CHANNEL_PACK::A }
 Enumeration of texture channels, one by one. More...
 
enum  THREE_CHANNEL_PACK {
  THREE_CHANNEL_PACK::RGB = 0, THREE_CHANNEL_PACK::RBG, THREE_CHANNEL_PACK::RGA, THREE_CHANNEL_PACK::RAG,
  THREE_CHANNEL_PACK::RBA, THREE_CHANNEL_PACK::RAB, THREE_CHANNEL_PACK::GRB, THREE_CHANNEL_PACK::GBR,
  THREE_CHANNEL_PACK::GRA, THREE_CHANNEL_PACK::GAR, THREE_CHANNEL_PACK::GBA, THREE_CHANNEL_PACK::GAB,
  THREE_CHANNEL_PACK::BRG, THREE_CHANNEL_PACK::BGR, THREE_CHANNEL_PACK::BAR, THREE_CHANNEL_PACK::BGA,
  THREE_CHANNEL_PACK::BAG, THREE_CHANNEL_PACK::ARG, THREE_CHANNEL_PACK::AGR, THREE_CHANNEL_PACK::AGB,
  THREE_CHANNEL_PACK::ABG, THREE_CHANNEL_PACK::ARB, THREE_CHANNEL_PACK::ABR
}
 Enumeration of texture channels, packed by three. The channel order is encoded in each value, which can drive the mapping in supporting settings. More...
 
enum  MATERIAL_TYPE { MATERIAL_TYPE::UNKNOWN = 0, MATERIAL_TYPE::PBS }
 Lists all materials supported. More...
 
enum  PBS_MODEL { PBS_MODEL::SPECULAR_METALNESS_ROUGHNESS = 0, PBS_MODEL::SPECULAR_GLOSSINESS }
 Lists the available PBS models available. More...
 
enum  SHADOW_MAP_PCF { SHADOW_MAP_PCF::PCF_NONE = 0, SHADOW_MAP_PCF::PCF_4_TAP, SHADOW_MAP_PCF::PCF_9_TAP, SHADOW_MAP_PCF::PCF_16_TAP }
 Percentage Closer Filtering settings available for materials and effects supporting the shadow mapping method. More...
 

Detailed Description

Encompasses all API of component NilkinsAstraeus.

NilkinsAstraeus is a component that leverages all other capabilities exposed in other components to offer what gets near a game engine. Currently, it will :

As it goes, it will evolve to offer a higher level control, and more capabilities to ease the use of the engine as a whole.

Enumeration Type Documentation

◆ BLUR_TYPE

enum nkAstraeus::BLUR_TYPE
strong

Enumerates the blurring types available.

Enumerator
GAUSSIAN 

A typical gaussian blur.

◆ COMPLEX_EFFECT_TYPE

Enumerates all complex effects available in the component.

Enumerator
UNKNOWN 

Unknown placeholder.

BLUR 

Blurring effect.

DOF 

Depth Of Field effect.

◆ EFFECT_TYPE

Lists all effects supported.

Enumerator
UNKNOWN 

Unknown placeholder.

ATMOSPHERE 

Atmosphere effect.

FILM_GRAIN 

Film grain effect.

FXAA 

Fast Approximate Anti-Aliasing effect.

IMAGE_ENVIRONMENT 

Image Environment effect.

SSAO 

Screen Space Ambient Occlusion effect.

TEXTURE_COPY 

Simple texture copy effect.

TONE_MAPPING 

Tone mapping effect.

◆ FXAA_PRESET

Describes all FXAA effect presets available.

Presets drive the main algorithm logic. They give how much dithering should be acceptable, and what is the lookup radius of the filter. More dithering can mean harsher effect, while less dithering can smooth up better the image, as will do a bigger radius. However, keep in mind that the smaller the dither and the bigger the radius, the bigger the hit on the performance is.

Default value is DITHER_MEDIUM_RADIUS_5, representing a good compromise between quality and performances.

Enumerator
DITHER_MEDIUM_RADIUS_3 

Medium dithering, radius of 3 pixels.

DITHER_MEDIUM_RADIUS_4 

Medium dithering, radius of 4 pixels.

DITHER_MEDIUM_RADIUS_5 

Medium dithering, radius of 5 pixels.

DITHER_MEDIUM_RADIUS_6 

Medium dithering, radius of 6 pixels.

DITHER_MEDIUM_RADIUS_7 

Medium dithering, radius of 7 pixels.

DITHER_MEDIUM_RADIUS_8 

Medium dithering, radius of 8 pixels.

DITHER_LOW_RADIUS_3 

Low dithering, radius of 3 pixels.

DITHER_LOW_RADIUS_4 

Low dithering, radius of 4 pixels.

DITHER_LOW_RADIUS_5 

Low dithering, radius of 5 pixels.

DITHER_LOW_RADIUS_6 

Low dithering, radius of 6 pixels.

DITHER_LOW_RADIUS_7 

Low dithering, radius of 7 pixels.

DITHER_LOW_RADIUS_8 

Low dithering, radius of 8 pixels.

DITHER_LOW_RADIUS_9 

Low dithering, radius of 9 pixels.

DITHER_LOW_RADIUS_10 

Low dithering, radius of 10 pixels.

DITHER_LOW_RADIUS_11 

Low dithering, radius of 11 pixels.

DITHER_LOW_RADIUS_12 

Low dithering, radius of 12 pixels.

DITHER_LOWEST_RADIUS_12 

Lowest dithering possible, radius of 12 pixels.

◆ IMAGE_ENVIRONMENT_PROJECTION

Enumerates the projections supported for a source environment image.

Enumerator
AUTO 

Auto-detect based on the image's type.

FLAT 

Flat texture, only interpolated on the screen's uvs.

CUBE 

Cubemap texture, interpolated based on a pixel's direction.

EQUIRECTANGULAR 

Equirectangular, interpolated using a pixel's direction converted to a 2D uv coordinate.

◆ ONE_CHANNEL_PACK

Enumeration of texture channels, one by one.

Enumerator

Red channel.

Green channel.

Blue channel.

Alpha channel.

◆ THREE_CHANNEL_PACK

Enumeration of texture channels, packed by three. The channel order is encoded in each value, which can drive the mapping in supporting settings.

Enumerator
RGB 

Red, green, blue channels.

RBG 

Red, blue, green channels.

RGA 

Red, green, alpha channels.

RAG 

Red, alpha, green channels.

RBA 

Red, blue, alpha channels.

RAB 

Red, alpha, blue channels.

GRB 

Green, red, blue channels.

GBR 

Green, blue, red channels.

GRA 

Green, red, alpha channels.

GAR 

Green, alpha, red channels.

GBA 

Green, blue, alpha channels.

GAB 

Green, alpha, blue channels.

BRG 

Blue, red, green channels.

BGR 

Blue, green, red channels.

BAR 

Blue, red, alpha channels.

Blue, alpha, red channels.

BGA 

Blue, green, alpha channels.

BAG 

Blue, alpha, green channels.

ARG 

Alpha, red, green channels.

AGR 

Alpha, green, red channels.

AGB 

Alpha, green, blue channels.

ABG 

Alpha, blue, green channels.

ARB 

Alpha, red, blue channels.

ABR 

Alpha, blue, red channels.

◆ MATERIAL_TYPE

Lists all materials supported.

Enumerator
UNKNOWN 

Unknown place holder.

PBS 

Physically Based Shading material.

◆ PBS_MODEL

enum nkAstraeus::PBS_MODEL
strong

Lists the available PBS models available.

Enumerator
SPECULAR_METALNESS_ROUGHNESS 

Uses the specular, with metalness and roughness values.

SPECULAR_GLOSSINESS 

Uses the specular, with the glossiness value.

◆ SHADOW_MAP_PCF

Percentage Closer Filtering settings available for materials and effects supporting the shadow mapping method.

Enumerator
PCF_NONE 

No PCF.

PCF_4_TAP 

PCF with 4 taps.

PCF_9_TAP 

PCF with 9 taps.

PCF_16_TAP 

PCF with 16 taps.